6
תגובות

שינוי input לפי ComboBox

פתח Razdom ,
עשיתי את הדבר הזה (אל תיחסו לזה שזה mysql רגיל)
<select name="title">
<option>Name</option>
<?php
while($text = mysql_fetch_array($sql)){
  ?>
    <option onclick="jQuery(function () {
    $('#name').val('<?php echo $text['name']; ?>');
    });"><?php echo $text['name']; ?></option>
    <?php
}
?>
</select>

וזה לא משנה לי את ה ערך של input.
אני יודע שאני יכול לעשות את זה גם בדרך אחרת
אבל זה אמור להיות טופס שלם שצריך להשתנות עם כל מני נתונים מהמסד אז ככה הדרך הכי נוחה.
חשוב לציין שבדפדפנים אחרים זה עובד.. זה לא עובד רק ב google chrome

6 תשובות

avatar ענה intval ב 07 ליולי 2014 #

תוכל לפתוח את קוד המקור של העמוד (מה שיוצא) ולהביא אותו לכאן? (ככה שיהיה לנו את קוד ה html/js שהדפדפן מנסה לבצע, ולא נצטרך לבצע קוד php בראש)

avatar ענה Razdom ב 07 ליולי 2014 #

<option onclick="jQuery(function () {$('#name').val('Text');});">Text</option>

avatar ענה intval ב 07 ליולי 2014 #

עדיף להשתמש ב onchange עבור select במקום onclick בכל אחד מה-option, מכל מני סיבות, כולל למשל בחירה באמצעות המקלדת ולא העכבר.
הקוד יכול להיראות ככה:

<script src="http://code.jquery.com/jquery-git2.js"></script><input id="text" />
<select name="title" onchange="$('#text').val($(this).val())">
  <option disabled="disabled" selected="selected">Choose</option>
  <option>Kate</option>
  <option>John</option>
</select>

avatar ענה Razdom ב 07 ליולי 2014 #

כן ברור..
אבל יש לי שמה כל מני ערכים לא רק את השם
כלומר הקוד הוא יהיה:

<?php
while($text = mysql_fetch_array($sql)){
  ?>
    <option onclick="jQuery(function () {
    $('#name').val('<?php echo $text['name']; ?>');
    $('#num').val('<?php echo $text['num']; ?>');
    });"><?php echo $text['name']; ?></option>
    <?php
}
?>

avatar ענה intval ב 07 ליולי 2014 #

<script src="http://code.jquery.com/jquery-git2.js"></script>
<input id="text" size="60"/>

<select id="myselector">
  <option disabled="disabled" selected="selected">Choose</option>
  <option data-age="23" data-gender="female">Kate</option>
  <option data-age="43" data-gender="male">John</option>
</select>

<script>
  $('#myselector').on('change', function (e) {
      var x = optionSelected = $("option:selected", this);
      var msg = x.val() + ' is a ' + x.data('age') + ' years old ' + x.data('gender');
      $('#text').val(msg);
  });
</script>

avatar ענה Razdom ב 07 ליולי 2014 #

תודה על העזרה :)